<?php
/**
 * 用户分群
 * Created by PhpStorm.
 * User: Liujianlin
 * Date: 2017/6/24
 * Time: 15:00
 */

namespace app\controllers\marketing;

use app\models\marketing\UserGroupOld;
use yii;
use app\components\Site;


class UserGroupOldController extends \app\base\Controller
{
    public function init()
    {
        parent::init();
        $this->enableCsrfValidation = false;        // 禁用post的csrf验证
        yii::$app->db->enableSlaves = false;
    }
    
    
    /**
     * 把数据添加到redis
     */
    public function actionAddGroupOld()
    {

        set_time_limit(0);
        $mothod = strtolower(Yii::$app->request->getMethod());
        $site = Yii::$app->request->$mothod('site');
         // 查询网站相关的数据
        $formData = Yii::$app->request->$mothod();
        
        $siteId = $formData['site_id'];
        $siteName = Yii::$app->params['sites']['marketing_email']['web_index'][$siteId];
      
        $userGroupModel = new UserGroupOld();
       
        // 把30天登录用户搜索出来加入内存
        if (!empty($formData['buzhou']) && $formData['buzhou'] == 1) {
            
            echo "添加最近30天登录用户加入内存表的开始时间：" . date('Y-m-d H:i:s',time()).'<br>';
            $nums = $userGroupModel->add30DayLoginUser($siteName);
            echo "添加最近30天登录用户加入内存表的结束时间：" . date('Y-m-d H:i:s',time())."，共{$nums}条数据<br>"; 
            
        }
        
        // 把30天注册的用户搜索出来加入内存表
        if (!empty($formData['buzhou']) && $formData['buzhou'] == 2) {
            echo "添加最近30天注册用户加入内存表的开始时间：" . date('Y-m-d H:i:s',time()).'<br>';
            $nums = $userGroupModel->add30DayRegisterUser($siteName);
            echo "添加最近30天注册用户加入内存表的结束时间：" . date('Y-m-d H:i:s',time())."，共{$nums}条数据<br>"; 
        }
        
        // 把英语或者法语用户加入内存表
        if (!empty($formData['buzhou']) && $formData['buzhou'] == 3) {
            echo "英语或者法语用户加入内存表开始时间: " . date('Y-m-d H:i:s',time()).'<br>';
            $nums = $userGroupModel->addEnFrUser($siteName);
            echo "英语或者法语用户加入内存表结束时间：" . date('Y-m-d H:i:s',time())."，共{$nums}条数据<br>";
        }
        
        // 把退订或者弹出用户加入内存表
        if (!empty($formData['buzhou']) && $formData['buzhou'] == 4) {
            echo "退订或者弹出用户加入内存表开始时间: " . date('Y-m-d H:i:s',time()).'<br>';
            $nums = $userGroupModel->addTdTcUser($siteName);
            echo "退订或者弹出用户加入内存表结束时间：" . date('Y-m-d H:i:s',time())."，共{$nums}条数据<br>";
        }
       
        /*********************合并计算**************************/
        // 把注册用户和登录用户合并
        if (!empty($formData['buzhou']) && $formData['buzhou'] == 5) {
            echo "合并注册和登录用户加入内存表开始时间: " . date('Y-m-d H:i:s',time()).'<br>';
            $nums = $userGroupModel->mergeLoginRegister();
            echo "合并注册和登录用户加入内存表结束时间：" . date('Y-m-d H:i:s',time()) . "，共{$nums}条数据<br>";
        }
        
        if (!empty($formData['buzhou']) && $formData['buzhou'] == 6) {
            echo "求自定义和系统默认之间的交集开始时间: " . date('Y-m-d H:i:s',time()).'<br>';
            $nums = $userGroupModel->mergeLoginRegisterSys();
            echo "求自定义和系统默认之间的交集结束时间：" . date('Y-m-d H:i:s',time()) . "，共{$nums}条数据<br>";
        }
        
        if (!empty($formData['buzhou']) && $formData['buzhou'] == 7) {
            echo "求最终差集开始时间:" . date('Y-m-d H:i:s',time()).'<br>';
            $nums = $userGroupModel->mergeLoginRegisterSysMinusExclu();
            echo "求最终差集结束时间：" . date('Y-m-d H:i:s',time()) . "，共{$nums}条数据<br>"; 
        }
        /*********************合并计算结束**************************/
        
        // 删除内存的相关表
        if (!empty($formData['buzhou']) && $formData['buzhou'] == 8) {
            // drop table tablename if exists tablename;
            
            $sqlDel = " drop table if exists 30DayLoginUser ";
            yii::$app->db->createCommand($sqlDel)->execute();
            
             $sqlDel = " drop table if exists 30DayRegisterUser ";
            yii::$app->db->createCommand($sqlDel)->execute();
            
             $sqlDel = " drop table if exists EnFrUser ";
            yii::$app->db->createCommand($sqlDel)->execute();
            
             $sqlDel = " drop table if exists TdTcUser ";
            yii::$app->db->createCommand($sqlDel)->execute();
            
             $sqlDel = " drop table if exists LoginRegister ";
            yii::$app->db->createCommand($sqlDel)->execute();
            
             $sqlDel = " drop table if exists LoginRegisterSys ";
            yii::$app->db->createCommand($sqlDel)->execute();
            echo '删除完毕';
        }
    }

}
